Making international mobile subscriber identity available at base station

ABSTRACT

The subject matter described herein generally relates to making an international mobile subscriber identity (IMSI) available at a base station, such as an evolved node (eNodeB) base station, within a cellular network, for example, a long term evolution communications system. The base station can receive data in response to a data request. The received data can include a header including an international mobile subscriber identifier. The base station can generate a first data for use in performing at least one communication function based on the received international mobile subscriber identifier. The base station can transmit the first data to at least one server communicatively coupled to the base station. Related apparatuses, systems, techniques and articles are also described.

TECHNICAL FIELD

The current subject matter described herein generally relates to makingan international mobile subscriber identity (IMSI) available at a basestation, such as an evolved node (eNodeB) base station, within acellular network, for example, a long term evolution communicationssystem.

BACKGROUND

An international mobile subscriber identity (IMSI) is a unique numberassociated with user equipment (for example, a cellular phone) ofcellular subscribers of a cellular network, such as one of a globalsystem for mobile communications (GSM) network, a universal mobiletelecommunications system (UMTS) network, a long-term evolution (LTE)network, and a CDMA2000 network. The IMSI can be stored either directlywithin the user equipment or within a subscriber identity module (SIM)card of the user equipment. The IMSI includes: an identifier thatidentifies a network operator to identify the cellular network providerwith whom a subscriber has an account, and an identifier that uniquelyidentifies the user equipment or the SIM card and, thus, the subscriberregistered as owner of the user equipment or the SIM card, respectively.

In a LTE network, messages, including the IMSI, are passed between auser equipment (UE) and a mobile management entity (MME) via anon-access stratum (NAS) functional layer of the LTE protocol stack. Abase station (for example, an evolved Node B (eNodeB)) of the LTEnetwork traditionally does not have the capability of deciphering NASmessages. The base station accordingly does not have access to the IMSI,and might, therefore, not match subscribers with respectivecommunication data. Such matching of subscribers with correspondingcommunication data can be useful to perform many communication networkfunctions, such as, for example, generating a financial charge of eachsubscriber based on usage of cellular data by each user, identifyingsubscribers and providing data to third party servers, etc., and thelike. The base station, however, has the quickest and maximum access tomost communication data, other than the IMSI, associated with a user.Therefore, there is a need to make IMSI available at the base station,as such availability can enable performance of the above-referredcommunication functions in a fast and accurate manner.

SUMMARY

The subject matter described herein generally relates to making aninternational mobile subscriber identity (IMSI) available at a basestation, such as an evolved node (eNodeB) base station, within acellular network, for example, a long term evolution communicationssystem.

In one aspect, a base station can receive data in response to a datarequest. The received data can include a header including aninternational mobile subscriber identifier. The base station cangenerate a first data for use in performing at least one communicationfunction based on the received international mobile subscriberidentifier. The base station can transmit the first data to at least oneserver communicatively coupled to the base station.

In some variations, one or more of the following can additionally beimplemented either individually or in any feasible combination. The basestation can be an evolved node (eNodeB) base station comprising at leastone processor and at least one memory. The international mobilesubscriber identifier can identify a user equipment. The user equipmentcan generate the data request received by the base station. The headercan be a hypertext transfer protocol (HTTP) response header, and caninclude a X-international mobile subscriber identity (X-IMSI) headercontaining the international mobile subscriber identifier. The at leastone communication function can include at least one of the following: acharging function and an interception function. The first data can be afinancial charge for the user equipment. At least one of the chargingfunction and the interception function can be performed by at least oneof the following: the base station and the at least one server.

The charging function can include computing, based on network data usedby a user equipment generating the data request received by the basestation, the financial charge for the user equipment. The financialcharge can be associated with at least one of the following: the datarequest and the received data. The financial charge can be charged by acommunications network provider. The first data can include anidentification of at least one of the following: the user equipment, thedata request, the data received in response to the data request, and thebase station.

The interception function can include generating a report. The reportcan identify at least one of the following: a user equipment generatingthe data request received by the base station, the data request, thedata received in response to the data request, and the base station. Anauthorized third party can receive the generated report.

In another aspect, a base station is described that can include: atleast one programmable processor; and a machine-readable medium storinginstructions that, when executed by the at least one processor, causethe at least one programmable processor to perform at least thefollowing operations. The at least one programmable processor canreceive data in response to a data request. The received data caninclude a header including an international mobile subscriberidentifier. The at least one programmable processor can generate a firstdata for use in performing at least one communication function based onthe received international mobile subscriber identifier. The at leastone programmable processor can transmit the first data to at least oneserver communicatively coupled to the at least one programmableprocessor.

In some variations, one or more of the following can additionally beimplemented either individually or in any suitable combination. Theinternational mobile subscriber identifier can identify a userequipment. The user equipment can generate the data request received bythe at least one programmable processor. The header can be a hypertexttransfer protocol (HTTP) response header, and can include aX-international mobile subscriber identity (X-IMSI) header containingthe international mobile subscriber identifier. The at least onecommunication function can include at least one of the following: acharging function and an interception function.

At least one of the charging function and the interception function canbe performed by at least one of the following: the at least oneprocessor and the at least one server. The charging function can includecomputing, based on network data used by a user equipment generating thedata request received by the at least one programmable processor, afinancial charge for the user equipment. The financial charge can beassociated with at least one of the following: the data request and thereceived data. The first data can be the financial charge. The financialcharge can be charged by a communications network provider. The firstdata can include an identification of at least one of the following: theuser equipment, the data request, the data received in response to thedata request, and the at least one programmable processor. Theinterception function can include generating a report. The report canidentify at least one of the following: a user equipment generating thedata request received by the at least one programmable processor, thedata request, the data received in response to the data request, and theat least one programmable processor.

In yet another aspect, a non-transitory computer program product isdescribed that can store instructions that, when executed by at leastone programmable processor, cause the at least one programmableprocessor to perform at least the following operations. The at least oneprogrammable processor can receive data in response to a data request.The received data can include a header including an international mobilesubscriber identifier. The at least one programmable processor cangenerate a first data for use in performing at least one communicationfunction based on the received international mobile subscriberidentifier. The at least one programmable processor can transmit thefirst data to at least one server communicatively coupled to the atleast one programmable processor.

In some variations, one or more of the following can additionally beimplemented either individually or in any feasible combination. Theinternational mobile subscriber identifier can identify a userequipment. The user equipment can generate the data request received bythe at least one programmable processor. The header can be a hypertexttransfer protocol (HTTP) response header, and can include aX-international mobile subscriber identity (X-IMSI) header containingthe international mobile subscriber identifier. The at least onecommunication function can include at least one of the following: acharging function and an interception function. At least one of thecharging function and the interception function can be performed by atleast one of the following: the at least one processor and the at leastone server.

The charging function can include computing, based on network data usedby a user equipment generating the data request received by the at leastone programmable processor, a financial charge for the user equipment.The financial charge can be associated with at least one of thefollowing: the data request and the received data. The first data can bethe financial charge. The financial charge can be charged by acommunications network provider. The first data can include anidentification of at least one of the following: the user equipment, thedata request, the data received in response to the data request, and theat least one programmable processor. The interception function caninclude generating a report. The report can identify at least one of thefollowing: a user equipment generating the data request received by theat least one programmable processor, the data request, the data receivedin response to the data request, and the at least one programmableprocessor.

Articles are also described that comprise a tangibly embodiedmachine-readable media embodying instructions that, when performed,cause one or more machines (e.g., computers, etc.) to result inoperations described herein. Similarly, computer systems are alsodescribed that can include a processor and a memory coupled to theprocessor. The memory can include one or more programs that cause theprocessor to perform one or more of the operations described herein.Additionally, computer systems may include additional specializedprocessing units that are able to apply a single instruction to multipledata points in parallel. Such units include but are not limited tographics processing units (GPU).

The details of one or more variations of the subject matter describedherein are set forth in the accompanying drawings and the descriptionbelow. Other features and advantages of the subject matter describedherein will be apparent from the description and drawings, and from theclaims.

DESCRIPTION OF DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, show certain aspects of the subject matterdisclosed herein and, together with the description, help explain someof the principles associated with the disclosed implementations. In thedrawings,

FIG. 1a illustrates an exemplary long term evolution (LTE)communications system;

FIG. 1b illustrates further detail of the exemplary LTE system shown inFIG. 1 a;

FIG. 1c illustrates additional detail of the evolved packet core (EPC)of the exemplary LTE system shown in FIG. 1 a;

FIG. 1d illustrates an exemplary evolved Node B of the exemplary LTEsystem shown in FIG. 1 a;

FIG. 2 illustrates further detail of an evolved Node B shown in FIGS. 1a-d;

FIG. 3 illustrates an exemplary intelligent Long Term Evolution RadioAccess Network;

FIG. 4 illustrates an exemplary LTE control plane architecture whereinternational mobile subscriber identity (IMSI) is unavailable atevolved Node B;

FIG. 5 illustrates an exemplary LTE data plane architecture where IMSIis unavailable at evolved Node B;

FIG. 6 illustrates an exemplary process for making available of IMSI atevolved Node B, according to some implementations of the current subjectmatter;

FIG. 7 illustrates an exemplary communications system for transmissionof data from a base station to a third party server, according to someimplementations of the current subject matter; and

FIG. 8 illustrates an exemplary method, according to someimplementations of the current subject matter.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

In some implementations, the current subject matter described hereingenerally relates to making an international mobile subscriber identity(IMSI) available at a base station (for example, evolved node B, whichcan also be referred to as eNodeB) within a cellular network (forexample, long-term evolution (LTE) network). Making IMSI available atthe base station can advantageously enable performance of at least oneof the following communication network functions in a fast and accuratemanner: generating a financial charge of each subscriber based on usageof cellular data by each user, identifying subscribers and providingsubscriber/connection data to third party servers, etc.

In some implementations, the current subject matter relates to acomputer-implemented method. The method can include receiving data inresponse to a data request, the received data including a headerincluding an international mobile subscriber identifier, generating afirst data for use in performing at least one communication functionbased on the received international mobile subscriber identifier, andtransmitting the first data to at least one server, where the server canbe communicatively coupled to a base station that can perform at leastone of the receiving, the generating, and the transmitting. The basestation can receive the request, such as a request for a webpage, from auser equipment (UE). The base station can transmit the request to anevolved packet core (EPC). The EPC can retrieve data, which can includea header, in response to the request from an application server. The EPCcan add an IMSI in the retrieved header. The base station can receivethe header, which can include the IMSI, from the EPC. The base stationcan generate a first data for use in performing at least onecommunication function based on the received IMSI. The base station cantransmit the first data to at least one server configured to becommunicatively coupled to the base station.

In some implementations, the current subject matter can be implementedin a wireless communication system, such as a long term evolutionsystem, where some of its components are discussed below.

FIGS. 1a-c and 2 illustrate an exemplary long term evolution (LTE)communications system 100. The system 100 can also be referred to as 4GLTE in some implementations. The system 100 is governed by a standardfor wireless communication of high-speed data for mobile telephones anddata terminals. This standard is based on the Global System for MobileCommunications/Enhanced Data rates for GSM Evolution (GSM/EDGE) as wellas Universal Mobile Telecommunications System/High Speed Packet Access(UMTS/HSPA) network technologies. The standard is developed by the 3rdGeneration Partnership Project (3GPP).

As shown in FIG. 1a , the system 100 can include an evolved universalterrestrial radio access network (EUTRAN) 102, an evolved packet core(EPC) 108, and a packet data network (PDN) 101, where the EUTRAN 102 andEPC 108 provide communication between a user equipment 104 and the PDN101. The EUTRAN 102 can include a plurality of evolved node B's (alsoreferred to as any of eNodeB, ENODEB, enodeb, and eNB) or base stations106 (a, b, c) (as shown in FIG. 1b ) that provide communicationcapabilities to a plurality of user equipment 104(a, b, c). The userequipment 104 can be a mobile telephone, a smartphone, a table, apersonal computer, a personal digital assistant (PDA), a server, a dataterminal, and/or any other type of user equipment, and/or anycombination thereof. The user equipment 104 can connect to the EPC 108and eventually, the PDN 101, via any eNodeB 106. Typically, the userequipment 104 can connect to the nearest, in terms of distance, eNodeB106. In the system 100, the EUTRAN 102 and EPC 108 work together toprovide connectivity, mobility and services for the user equipment 104.

FIG. 1b illustrates further detail of the network 100 shown in FIG. 1a .As stated above, the EUTRAN 102 includes a plurality of eNodeBs 106,also known as cell sites. The eNodeBs 106 provides radio functions andperforms key control functions including scheduling of air linkresources or radio resource management, active mode mobility orhandover, and admission control for services. The eNodeBs 106 areresponsible for selecting which mobility management entities (MMEs, asshown in FIG. 1c ) will serve the user equipment 104 and for protocolfeatures like header compression and encryption. The eNodeBs 106 thatmake up an EUTRAN 102 collaborate with one another for radio resourcemanagement and handover.

Communication between the user equipment 104 and the eNodeB 106 occursvia an air interface 122 (also known as LTE-Uu interface). As shown inFIG. 1b , the air interface 122 provides communication between userequipment 104 b and the eNodeB 106 a. The air interface 122 usesOrthogonal Frequency Division Multiple Access (OFDMA) and Single CarrierFrequency Division Multiple Access (SC-FDMA), an OFDMA variant, on thedownlink and uplink respectively. OFDMA allows use of multiple knownantenna techniques, such as, Multiple Input Multiple Output (MIMO).

The air interface 122 uses various protocols, which include a radioresource control (RRC) for signaling between the user equipment 104 andeNodeB 106 and non-access stratum (NAS) for signaling between the userequipment 104 and MME (as shown in FIG. 1c ). In addition to signaling,user traffic is transferred between the user equipment 104 and eNodeB106. Both signaling and traffic in the system 100 are carried byphysical layer (PHY) channels.

Multiple eNodeBs 106 can be interconnected with one another using an X2interface 130(a, b, c). As shown in FIG. 1a , X2 interface 130 aprovides interconnection between eNodeB 106 a and eNodeB 106 b; X2interface 130 b provides interconnection between eNodeB 106 a and eNodeB106 c; and X2 interface 130 c provides interconnection between eNodeB106 b and eNodeB 106 c. The X2 interface can be established between twoeNodeBs in order to provide an exchange of signals, which can include aload- or interference-related information as well as handover-relatedinformation. The eNodeBs 106 communicate with the evolved packet core108 via an S1 interface 124(a, b, c). The S1 interface 124 can be splitinto two interfaces: one for the control plane (shown as control planeinterface (S1-MME interface) 128 in FIG. 1c ) and the other for the userplane (shown as user plane interface (S1-U interface) 125 in FIG. 1c ).

The EPC 108 establishes and enforces Quality of Service (QoS) for userservices and allows user equipment 104 to maintain a consistent internetprotocol (IP) address while moving. It should be noted that each node inthe network 100 has its own IP address. The EPC 108 is designed tointerwork with legacy wireless networks. The EPC 108 is also designed toseparate control plane (i.e., signaling) and user plane (i.e., traffic)in the core network architecture, which allows more flexibility inimplementation, and independent scalability of the control and user datafunctions.

The EPC 108 architecture is dedicated to packet data and is shown inmore detail in FIG. 1c . The EPC 108 includes a serving gateway (S-GW)110, a PDN gateway (P-GW) 112, a mobility management entity (MME) 114, ahome subscriber server (HSS) 116 (a subscriber database for the EPC108), and a policy control and charging rules function (PCRF) 118. Someof these (such as S-GW, P-GW, MME, and HSS) are often combined intonodes according to the manufacturer's implementation.

The S-GW 110 functions as an IP packet data router and is the userequipment's bearer path anchor in the EPC 108. Thus, as the userequipment moves from one eNodeB 106 to another during mobilityoperations, the S-GW 110 remains the same and the bearer path towardsthe EUTRAN 102 is switched to talk to the new eNodeB 106 serving theuser equipment 104. If the user equipment 104 moves to the domain ofanother S-GW 110, the MME 114 will transfer all of the user equipment'sbearer paths to the new S-GW. The S-GW 110 establishes bearer paths forthe user equipment to one or more P-GWs 112. If downstream data arereceived for an idle user equipment, the S-GW 110 buffers the downstreampackets and requests the MME 114 to locate and reestablish the bearerpaths to and through the EUTRAN 102.

The P-GW 112 is the gateway between the EPC 108 (and the user equipment104 and the EUTRAN 102) and PDN 101 (shown in FIG. 1a ). The P-GW 112functions as a router for user traffic as well as performs functions onbehalf of the user equipment. These include IP address allocation forthe user equipment, packet filtering of downstream user traffic toensure it is placed on the appropriate bearer path, enforcement ofdownstream QoS, including data rate. Depending upon the services asubscriber is using, there may be multiple user data bearer pathsbetween the user equipment 104 and P-GW 112. The subscriber can useservices on PDNs served by different P-GWs, in which case the userequipment has at least one bearer path established to each P-GW 112.During handover of the user equipment from one eNodeB to another, if theS-GW 110 is also changing, the bearer path from the P-GW 112 is switchedto the new S-GW.

The MME 114 manages user equipment 104 within the EPC 108, includingmanaging subscriber authentication, maintaining a context forauthenticated user equipment 104, establishing data bearer paths in thenetwork for user traffic, and keeping track of the location of idlemobiles that have not detached from the network. For idle user equipment104 that needs to be reconnected to the access network to receivedownstream data, the MME 114 initiates paging to locate the userequipment and re-establishes the bearer paths to and through the EUTRAN102. MME 114 for a particular user equipment 104 is selected by theeNodeB 106 from which the user equipment 104 initiates system access.The MME is typically part of a collection of MMES in the EPC 108 for thepurposes of load sharing and redundancy. In the establishment of theuser's data bearer paths, the MME 114 is responsible for selecting theP-GW 112 and the S-GW 110, which will make up the ends of the data paththrough the EPC 108.

The PCRF 118 is responsible for policy control decision-making, as wellas for controlling the flow-based charging functionalities in the policycontrol enforcement function (PCEF), which resides in the P-GW 110. ThePCRF 118 provides the QoS authorization (QoS class identifier (QCI) andbit rates) that decides how a certain data flow will be treated in thePCEF and ensures that this is in accordance with the user's subscriptionprofile.

As stated above, the IP services 119 are provided by the PDN 101 (asshown in FIG. 1a ).

FIG. 1d illustrates an exemplary structure of eNodeB 106. The eNodeB 106can include at least one remote radio head (RRH) 132 and a baseband unit(BBU) 134. Typically, there can be three RRH 132, as shown. The RRH 132can be connected to antennas 136. The RRH 132 and the BBU 134 can beconnected using an optical interface that is compliant with commonpublic radio interface (CPRI) 142 standard specification. The operationof the eNodeB 106 can be characterized using the following standardparameters (and specifications): radio frequency band (Band4, Band9,Band17), bandwidth (5, 10, 15, 20 MHz), access scheme (downlink: OFDMA;uplink: SC-OFDMA), antenna technology (downlink: 2×2 MIMO; uplink: 1×2single input multiple output (SIMO)), number of sectors (6 maximum),maximum transmission power (60 W), maximum transmission rate (downlink:150 Mb/s; uplink: 50 Mb/s), S1/X2 interface (1000Base-SX, 1000Base-T),and mobile environment (up to 350 km/h). The BBU 134 can be responsiblefor digital baseband signal processing, termination of S1 line,termination of X2 line, call processing and monitoring controlprocessing. IP packets that are received from the EPC 108 (not shown inFIG. 1d ) can be modulated into digital baseband signals and transmittedto the RRH 132. Conversely, the digital baseband signals received fromthe RRH 132 can be demodulated into IP packets for transmission to EPC108.

The RRH 132 can transmit and receive wireless signals using antennas136. The RRH 132 can convert (using converter (CONV) 140) digitalbaseband signals from the BBU 134 into radio frequency (RF) signals andpower amplify (using amplifier (AMP) 138) them for transmission to userequipment 104 (not shown in FIG. 1d ). Conversely, the RF signals thatare received from user equipment 104 are amplified (using AMP 138) andconverted (using CONV 140) to digital baseband signals for transmissionto the BBU 134.

FIG. 2 illustrates an additional detail of an exemplary eNodeB 106. TheeNodeB 106 includes a plurality of layers: LTE layer 1 202, LTE layer 2204, and LTE layer 3 206. The LTE layer 1 includes a physical layer(PHY). The LTE layer 2 includes a media access control (MAC), a radiolink control (RLC), a packet data convergence protocol (PDCP). The LTElayer 3 includes various functions and protocols, including a radioresource control (RRC), a dynamic resource allocation, eNodeBmeasurement configuration and provision, a radio admission control, aconnection mobility control, and radio resource management (RRM). TheRLC protocol is an automatic repeat request (ARQ) fragmentation protocolused over a cellular air interface. The RRC protocol handles controlplane signaling of LTE layer 3 between the user equipment and theEUTRAN. RRC includes functions for connection establishment and release,broadcast of system information, radio bearerestablishment/reconfiguration and release, RRC connection mobilityprocedures, paging notification and release, and outer loop powercontrol. The PDCP performs IP header compression and decompression,transfer of user data and maintenance of sequence numbers for RadioBearers. The BBU 134, shown in FIG. 1d , can include LTE layers L1-L3.

One of the primary functions of the eNodeB 106 is radio resourcemanagement, which includes scheduling of both uplink and downlink airinterface resources for user equipment 104, control of bearer resources,and admission control. The eNodeB 106, as an agent for the EPC 108, isresponsible for the transfer of paging messages that are used to locatemobiles when they are idle. The eNodeB 106 also communicates commoncontrol channel information over the air, header compression, encryptionand decryption of the user data sent over the air, and establishinghandover reporting and triggering criteria. As stated above, the eNodeB106 can collaborate with other eNodeB 106 over the X2 interface for thepurposes of handover and interference management. The eNodeBs 106communicate with the EPC's MME via the S1-MME interface and to the S-GWwith the S1-U interface. Further, the eNodeB 106 exchanges user datawith the S-GW over the S1-U interface. The eNodeB 106 and the EPC 108have a many-to-many relationship to support load sharing and redundancyamong MMEs and S-GWs. The eNodeB 106 selects an MME from a group of MMEsso the load can be shared by multiple MMEs to avoid congestion.

FIG. 3 illustrates an exemplary system 300 of an exemplary intelligentLong Term Evolution Radio Access Network. The system 300 can beimplemented as a centralized cloud radio access network (C-RAN). Thesystem 300 can include at least one intelligent remote radio head (iRRH)unit 302 and an intelligent baseband unit (iBBU) 304. The iRRH 302 andiBBU 304 can be connected using Ethernet fronthaul (FH) communication306 and the iBBU 304 can be connected to the EPC 108 using backhaul (BH)communication 308. The user equipment 104 (not shown in FIG. 3) cancommunicate with the iRRH 302.

In some implementations, the iRRH 302 can include the power amplifier(PA) module 312, the radio frequency (RF) module 314, LTE layer L1 (orPHY layer) 316, and a portion 318 of the LTE layer L2. The portion 318of the LTE layer L2 can include the MAC layer and can further includesome functionalities/protocols associated with RLC and PDCP, as will bediscussed below. The iBBU 304 can be a centralized unit that cancommunicate with a plurality of iRRH and can include LTE layer L3 322(e.g., RRC, RRM, etc.) and can also include a portion 320 of the LTElayer L2. Similar to portion 318, the portion 320 can include variousfunctionalities/protocols associated with RLC and PDCP. Thus, the system300 can be configured to split functionalities/protocols associated withRLC and PDCP between iRRH 302 and the iBBU 304.

FIG. 4 illustrates an exemplary LTE control plane architecture 400 whereinternational mobile subscriber identity (IMSI) 402 is unavailable ateNodeB. As shown, messages, including the IMSI 402, are passed between auser equipment 104 and a mobile management entity 114 via a non-accessstratum (NAS) functional layer 404 of the LTE protocol stack. A basestation (for example, an eNodeB) 106 of the LTE network traditionallydoes not have the capability of deciphering messages transmitted in theNAS functional layer 404. The base station 106 accordingly does not haveaccess to the IMSI 402.

As the base station 106 does not have access to the IMSI 402, as shown,such base station does not have the capability to match subscribers withrespective communication data (e.g., either requested, received, and/ortransmitted by such subscribers). Such matching of subscribers withcorresponding communication data can be useful to perform variouscommunication network functions, such as generating financial chargesassociated with each subscriber's usage of cellular data, bandwidth,identifying subscribers and providing data to third party servers, etc.The base station 106 can have the quickest and maximum access to mostcommunication data, other than the IMSI 402, associated with a user. Insome implementations, the current subject matter system (as for example,illustrated by the process shown in FIG. 6 discussed below in furtherdetail) can make IMSI 402 available at the base station 106 and enableperformance of the above-referred communication functions in a fast andaccurate manner.

FIG. 5 illustrates an exemplary LTE data plane architecture 500 whereIMSI is unavailable at evolved Node B. As shown in FIG. 5, the userequipment 104 can be running an application 502, e.g., a web browser, anemail, a video browser, etc., that may be requesting data from a server(not shown in FIG. 5) and the data can be transmitted back to theapplication 502. The IMSI 402 can be passed between the user equipment104 and the packet data network gateway 112, but would not accessible tothe base station 106.

FIG. 6 illustrates an exemplary process 600 for making IMSI available atan eNodeB, according to some implementations of the current subjectmatter. The process 600 can be performed between the user equipment 104,a base station 106 (e.g., an eNodeB), an evolved packet core 108, and anapplication server 608. The user equipment 104 can be a mobiletelephone, a smartphone, a tablet, a personal computer, a laptopcomputer, and/or any other network device. The user equipment 104 canreceive and/or transmit data to other user equipments and/or applicationserver(s), e.g., application server 608, which can store and/or processvarious data, which can be requested by one or more applications runningby the user equipment 104.

At 602, the eNodeB 106 can receive a request for data from the userequipment 104. The request can be a hypertext transfer protocol (HTTP)request and/or any other request. This data can be a web page, a video,an audio, and/or any other type of data. At 604, the eNodeB 106 cantransmit the request to the evolved packet core 108 via a general packetradio service (GPRS) tunneling protocol (GTP) user data tunnel (GTP-U).At 606, the EPC 108 can transfer the request to the application server608. The application server 608 can process the request, determine thedata responsive to the request and transmit the responsive data to theuser equipment 104, at 610. The application server 608 can transmit thedata back to the EPC 108 using an HTTP response. The response data caninclude an HTTP response header, which can be added by the EPC 108 andcan include a X-international mobile subscriber identity (X-IMSI) headerand a value to the response header, at 612. “X” in “X-IMSI” can indicatethat the application protocol is associated with unstandardizedparameters. “X” in “X-IMSI” can be understood to be eXperimental oreXtension. The HTTP does not support an IMSI header, but supports theX-IMSI header. The “value” added to the HTTP response header at 612 canrefer to the value inserted in the actual IMSI of the user equipment104. The IMSI 402 contained in the X-IMSI header can be used to uniquelyidentify the user equipment 104 from a plurality of user equipmentsbeing serviced by wireless networks and/or a particular base stationand/or a group of base stations. At 614, the EPC 108 can transmit theresponsive data, received from the server 608, along with the X-IMSIheader, containing the IMSI 402, to the eNodeB 106. This transmissioncan occur over the GTP-U user data tunnel.

At 616, the eNodeB 106 can perform various functions that can make useof the IMSI 402, which can include at least one of the following:charging, interception (for example, lawful interception), and/or anyother functions (the charging function is shown in FIG. 6). The chargingfunction can include computing a financial charge for the user equipmentbased on use of network data and/or bandwidth by the user equipment. Theinterception function can include collection of various data related tothe communication between the user equipment 104 and the applicationserver 608. The data used and/or collected in connection withperformance of these functions can be forwarded to a third party server.At 618, the eNodeB 106 can pass the HTTP response to the user equipment104 after removing (which can also be referred to as stripping) theX-IMSI from the HTTP response.

FIG. 7 illustrates an exemplary communications system 700 fortransmission of data from a base station (e.g., an eNodeB) 702 to athird party server 704, according to some implementations of the currentsubject matter. Upon receipt of a particular data, the eNodeB 702 candetermine which server 704 (in a plurality of servers) should receivethe data associated with the communication between the user equipment104 and the application server 608, and forward it to the server 704 forfurther processing.

In some implementations, the third party server 704 can be associatedwith a communication service provider. In this case, data useful to theservice provider can include financial charge(s) associated with theuser equipment usage of the wireless network's connections as providedby the service provider.

In some implementations, the third party server 704 can collect variousinformation related to the communications between the user equipment 104and the application server 608 using the interception function discussedabove. The interception function can include generation of a report forat least one predetermined user registered to use the user equipment.The report can include an identification of at least one of thefollowing: one or more users registered to use the user equipment 104,the data contained in the request received from the user equipment 104,the response data retrieved in response to the request, and/or any otherdata. The third party can be any party that may be authorized to accesssuch user data, such as a network administrator, an authorizedindividual of an entity operating the eNodeB 106, an authorized thirdparty, a law enforcement agency, and/or any other entity.

Referring back to FIG. 6, at 618, the eNodeB 106 can first strip theX-IMSI from the HTTP response. The eNodeB 106 can then transmit theresponse data to the user equipment 104. The eNodeB 106 can alsotransmit (not shown FIG. 6), after stripping the X-IMSI from the HTTPresponse, the data useful to the third party to the third party server704 (as shown in FIG. 7) that can be communicatively coupled with theeNodeB 106.

In some implementations, the eNodeB 106 can perform the above functions(e.g., charging, interception, etc.) based on the X-IMSI headerinformation. In alternate embodiments, the eNodeB 106 can forward theX-IMSI header to the third party server and/or any other device forfurther processing, without performing any of the above functions (e.g.,charging, interception, etc.).

FIG. 8 illustrates an exemplary process 800 for making IMSI 402available at a base station (e.g., eNodeB) 106, according to someimplementations of the current subject matter. At 802, the base station106 can receive a data in response to a data request. The received datacan include a header including an international mobile subscriberidentifier (IMSI) 402. At 804, the base station 106 can generate a firstdata for use in performing at least one communication function based onthe received IMSI 402. At 806, the base station 106 can transmit thefirst data to at least one server configured to be communicativelycoupled to the base station 106.

The base station 106 can be an evolved node (eNodeB) base station 106,which can include at least one processor and at least one memory. TheIMSI 402 can identify a user equipment 104 that generated the datarequest received by the base station 106. The header can be a hypertexttransfer protocol (HTTP) response header. The header can include aX-international mobile subscriber identity (X-IMSI) header, which caninclude the IMSI 402. The at least one communication function caninclude at least one of the following: a charging function and aninterception function. The charging function can include computing,based on network data used by a user equipment 104 generating the datarequest received by the base station 106, a financial charge for theuser equipment 104. The financial charge can be associated with the datarequest and the received data. The first data can be the financialcharge. The financial charge can be charged by a communications networkprovider.

The interception function can include generating a report. The reportcan identify at least one of: a user equipment 104 generating the datarequest received by the base station 106, the data request, the datareceived in response to the data request, and the base station 106. Thefirst data, in this case, can include an identification of at least oneof the user equipment 104, the data request, the data received inresponse to the data request, and the base station 106. The generatedreport can be used by any authorized party, such as a networkadministrator and/or a law enforcement agency.

At least one of the charging function and the interception function canbe performed by at least one of the following: the base station 106 andthe at least one server.

Various implementations of the subject matter described herein can berealized/implemented in digital electronic circuitry, integratedcircuitry, specially designed application specific integrated circuits(ASICs), computer hardware, firmware, software, and/or combinationsthereof. These various implementations can be implemented in one or morecomputer programs. These computer programs can be executable and/orinterpreted on a programmable system. The programmable system caninclude at least one programmable processor, which can be a specialpurpose or a general purpose. The at least one programmable processorcan be coupled to a storage system, at least one input device, and atleast one output device. The at least one programmable processor canreceive data and instructions from, and can transmit data andinstructions to, the storage system, the at least one input device, andthe at least one output device.

These computer programs (also known as programs, software, softwareapplications or code) can include machine instructions for aprogrammable processor, and can be implemented in a high-levelprocedural and/or object-oriented programming language, and/or inassembly/machine language. As can be used herein, the term“machine-readable media” can refer to any computer program product,apparatus and/or device (for example, magnetic discs, optical disks,memory, programmable logic devices (PLDs)) used to provide machineinstructions and/or data to a programmable processor, including amachine-readable media that can receive machine instructions as amachine-readable signal. The term “machine-readable signal” can refer toany signal used to provide machine instructions and/or data to aprogrammable processor.

To provide for interaction with a user, the subject matter describedherein can be implemented on a computer that can display data to one ormore users on a display device, such as a cathode ray tube (CRT) device,a liquid crystal display (LCD) monitor, a light emitting diode (LED)monitor, or any other display device. The computer can receive data fromthe one or more users via a keyboard, a mouse, a trackball, a joystick,or any other input device. To provide for interaction with the user,other devices can also be provided, such as devices operating based onuser feedback, which can include sensory feedback, such as visualfeedback, auditory feedback, tactile feedback, and any other feedback.The input from the user can be received in any form, such as acousticinput, speech input, tactile input, or any other input.

The subject matter described herein can be implemented in a computingsystem that can include at least one of a back-end component, amiddleware component, a front-end component, and one or morecombinations thereof. The back-end component can be a data server. Themiddleware component can be an application server. The front-endcomponent can be a client computer having a graphical user interface ora web browser, through which a user can interact with an implementationof the subject matter described herein. The components of the system canbe interconnected by any form or media of digital data communication,such as a communication network. Examples of communication networks caninclude a local area network, a wide area network, internet, intranet,Bluetooth network, infrared network, or other networks.

The computing system can include clients and servers. A client andserver can be generally remote from each other and can interact througha communication network. The relationship of client and server can ariseby virtue of computer programs running on the respective computers andhaving a client-server relationship with each other.

Although a few variations have been described in detail above, othermodifications can be possible. For example, the logic flows depicted inthe accompanying figures and described herein do not require theparticular order shown, or sequential order, to achieve desirableresults. Other embodiments may be within the scope of the followingclaims.

The invention claimed is:
 1. A computer-implemented method comprising:receiving, by a base station, data in response to a data request,wherein the data request is transmitted by a user equipment to the basestation, the received data is transmitted from a core networkcommunicatively coupled to the base station and includes a headerincluding an international mobile subscriber identifier, theinternational mobile subscriber identifier is associated with the userequipment and added by the core network prior to transmission to thebase station; removing, by the base station, the international mobilesubscriber identifier from the received data; generating, by the basestation, based on the removed international mobile subscriberidentifier, a first data for use in performing at least onecommunication function; and transmitting, by the base station, the firstdata to at least one server communicatively coupled to the base station.2. The computer-implemented method according to claim 1, wherein thebase station is an evolved node (eNodeB) base station comprising atleast one processor and at least one memory.
 3. The computer-implementedmethod according to claim 1, wherein the international mobile subscriberidentifier identifies a user equipment, wherein the user equipmentgenerates the data request received by the base station.
 4. Thecomputer-implemented method according to claim 1, wherein the header isa hypertext transfer protocol (HTTP) response header and includes aX-international mobile subscriber identity (X-IMSI) header containingthe international mobile subscriber identifier.
 5. Thecomputer-implemented method according to claim 1, wherein the at leastone communication function includes at least one of the following: acharging function and an interception function.
 6. Thecomputer-implemented method according to claim 5, wherein: the firstdata is a financial charge for the user equipment; and the chargingfunction includes computing, based on network data used by a userequipment generating the data request received by the base station, thefinancial charge for the user equipment, the financial charge beingassociated with at least one of the following: the data request and thereceived data.
 7. The computer-implemented method according to claim 6,wherein the financial charge is being charged by a communicationsnetwork provider.
 8. The computer-implemented method according to claim5, wherein: the first data includes an identification of at least one ofthe following: the user equipment, the data request, the data receivedin response to the data request, and the base station; and theinterception function includes generating a report, the reportidentifying at least one of the following: a user equipment generatingthe data request received by the base station, the data request, thedata received in response to the data request, and the base station. 9.The computer-implemented method according to claim 8, wherein anauthorized third party receives the generated report.
 10. Thecomputer-implemented method according to claim 5, wherein at least oneof the charging function and the interception function are performed byat least one of the following: the base station and the at least oneserver.
 11. A base station comprising: at least one programmableprocessor; and a machine-readable medium storing instructions that, whenexecuted by the at least one processor, cause the at least oneprogrammable processor to perform operations comprising: receiving, by abase station, data in response to a data request, wherein the datarequest is transmitted by a user equipment to the base station, thereceived data is transmitted from a core network communicatively coupledto the base station and includes a header including an internationalmobile subscriber identifier, the international mobile subscriberidentifier is associated with the user equipment and added by the corenetwork prior to transmission to the base station; removing, by the basestation, the international mobile subscriber identifier from thereceived data; generating, by the base station, based on the removedinternational mobile subscriber identifier, a first data for use inperforming at least one communication function; and transmitting, by thebase station, the first data to at least one server communicativelycoupled to the base station.
 12. The base station according to claim 11,wherein the international mobile subscriber identifier identifies a userequipment, wherein the user equipment generates the data requestreceived by the at least one programmable processor.
 13. The basestation according to claim 11, wherein the header is a hypertexttransfer protocol (HTTP) response header and includes a X-internationalmobile subscriber identity (X-IMSI) header containing the internationalmobile subscriber identifier.
 14. The base station according to claim11, wherein: the at least one communication function includes at leastone of the following: a charging function and an interception function;and at least one of the charging function and the interception functionare performed by at least one of the following: the at least oneprocessor and the at least one server.
 15. The base station according toclaim 14, wherein: the charging function includes computing, based onnetwork data used by a user equipment generating the data requestreceived by the at least one programmable processor, a financial chargefor the user equipment, the financial charge being associated with atleast one of the following: the data request and the received data; andthe first data is the financial charge, the financial charge beingcharged by a communications network provider.
 16. The base stationaccording to claim 14, wherein: the first data includes anidentification of at least one of the following: the user equipment, thedata request, the data received in response to the data request, and theat least one programmable processor; and the interception functionincludes generating a report, the report identifying at least one of thefollowing: a user equipment generating the data request received by theat least one programmable processor, the data request, the data receivedin response to the data request, and the at least one programmableprocessor.
 17. A non-transitory computer program product storinginstructions that, when executed by at least one programmable processor,cause the at least one programmable processor to perform operationscomprising: receiving, by a base station, data in response to a datarequest, wherein the data request is transmitted by a user equipment tothe base station, the received data is transmitted from a core networkcommunicatively coupled to the base station and includes a headerincluding an international mobile subscriber identifier, theinternational mobile subscriber identifier is associated with the userequipment and added by the core network prior to transmission to thebase station; removing, by the base station, the international mobilesubscriber identifier from the received data; generating, by the basestation, based on the removed international mobile subscriberidentifier, a first data for use in performing at least onecommunication function; and transmitting, by the base station, the firstdata to at least one server communicatively coupled to the base station.18. The non-transitory computer program product according to claim 17,wherein: the international mobile subscriber identifier identifies auser equipment, wherein the user equipment generates the data requestreceived by the at least one programmable processor; the header is ahypertext transfer protocol (HTTP) response header and includes aX-international mobile subscriber identity (X-IMSI) header containingthe international mobile subscriber identifier; and the at least onecommunication function includes at least one of the following: acharging function and an interception function, at least one of thecharging function and the interception function being performed by atleast one of the following: the at least one processor and the at leastone server.
 19. The non-transitory computer program product according toclaim 18, wherein: the charging function includes computing, based onnetwork data used by a user equipment generating the data requestreceived by the at least one programmable processor, a financial chargefor the user equipment, the financial charge being associated with atleast one of the following: the data request and the received data; andthe first data is the financial charge, the financial charge beingcharged by a communications network provider.
 20. The non-transitorycomputer program product according to claim 18, wherein: the first dataincludes an identification of at least one of the following: the userequipment, the data request, the data received in response to the datarequest, and the at least one programmable processor; and theinterception function includes generating a report, the reportidentifying at least one of the following: a user equipment generatingthe data request received by the at least one programmable processor,the data request, the data received in response to the data request, andthe at least one programmable processor.